{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "### 应收账款造假"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from analysis import ANALYSIS_CONFIGS\n",
    "from analysis.analysis import FinancialAnalysis\n",
    "from analysis.doc_utils import ReportDocument"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['all_analysis.json',\n",
       " 'asset_quality_analysis.json',\n",
       " 'asset_indepth_analysis.json',\n",
       " 'asset_fraud_analysis.json',\n",
       " 'profit_analysis.json',\n",
       " 'cash_flow_analysis.json']"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ANALYSIS_CONFIGS"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "analysis = FinancialAnalysis(ANALYSIS_CONFIGS[3])\n",
    "images, titles, fields = analysis.images, analysis.titles, analysis.fields"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>合同资产(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>应收账款(元)</th>\n",
       "      <td>331,595,200</td>\n",
       "      <td>371,167,700</td>\n",
       "      <td>446,773,100</td>\n",
       "      <td>725,630,900</td>\n",
       "      <td>1,008,235,900</td>\n",
       "      <td>1,597,692,900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>应收账款+合同资产</th>\n",
       "      <td>331,595,200</td>\n",
       "      <td>371,167,700</td>\n",
       "      <td>446,773,100</td>\n",
       "      <td>725,630,900</td>\n",
       "      <td>1,008,235,900</td>\n",
       "      <td>1,597,692,900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>资产合计(元)</th>\n",
       "      <td>6,415,202,500</td>\n",
       "      <td>7,926,615,200</td>\n",
       "      <td>9,455,361,500</td>\n",
       "      <td>10,651,922,600</td>\n",
       "      <td>12,457,568,300</td>\n",
       "      <td>13,906,035,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>(应收账款+合同资产)占总资产的比率</th>\n",
       "      <td>5.17%</td>\n",
       "      <td>4.68%</td>\n",
       "      <td>4.73%</td>\n",
       "      <td>6.81%</td>\n",
       "      <td>8.09%</td>\n",
       "      <td>11.49%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                             2016           2017           2018  \\\n",
       "合同资产(元)                         0              0              0   \n",
       "应收账款(元)               331,595,200    371,167,700    446,773,100   \n",
       "应收账款+合同资产             331,595,200    371,167,700    446,773,100   \n",
       "资产合计(元)             6,415,202,500  7,926,615,200  9,455,361,500   \n",
       "(应收账款+合同资产)占总资产的比率          5.17%          4.68%          4.73%   \n",
       "\n",
       "                              2019            2020            2021  \n",
       "合同资产(元)                          0               0               0  \n",
       "应收账款(元)                725,630,900   1,008,235,900   1,597,692,900  \n",
       "应收账款+合同资产              725,630,900   1,008,235,900   1,597,692,900  \n",
       "资产合计(元)             10,651,922,600  12,457,568,300  13,906,035,200  \n",
       "(应收账款+合同资产)占总资产的比率           6.81%           8.09%          11.49%  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t1 = analysis.init_table('t1')\n",
    "t1['应收账款+合同资产'] = t1.T[:2].sum()\n",
    "t1['(应收账款+合同资产)占总资产的比率'] = t1['应收账款+合同资产'] / t1['资产合计(元)']\n",
    "\n",
    "analysis.format_show_table('t1')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1de3d76be48>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t1')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 利息收入占平均货币资金的比率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>利息收入(元)</th>\n",
       "      <td>78,635,300</td>\n",
       "      <td>93,430,000</td>\n",
       "      <td>100,909,000</td>\n",
       "      <td>84,590,700</td>\n",
       "      <td>160,282,600</td>\n",
       "      <td>152,136,800</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>货币资金(元)</th>\n",
       "      <td>3,448,409,300</td>\n",
       "      <td>2,581,883,300</td>\n",
       "      <td>2,196,706,800</td>\n",
       "      <td>4,054,121,700</td>\n",
       "      <td>3,921,052,700</td>\n",
       "      <td>3,802,201,300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>平均货币资金</th>\n",
       "      <td>nan</td>\n",
       "      <td>3,015,146,300</td>\n",
       "      <td>2,389,295,050</td>\n",
       "      <td>3,125,414,250</td>\n",
       "      <td>3,987,587,200</td>\n",
       "      <td>3,861,627,000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>利息收入占平均货币资金的比率</th>\n",
       "      <td>nan%</td>\n",
       "      <td>3.10%</td>\n",
       "      <td>4.22%</td>\n",
       "      <td>2.71%</td>\n",
       "      <td>4.02%</td>\n",
       "      <td>3.94%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         2016           2017           2018           2019  \\\n",
       "利息收入(元)            78,635,300     93,430,000    100,909,000     84,590,700   \n",
       "货币资金(元)         3,448,409,300  2,581,883,300  2,196,706,800  4,054,121,700   \n",
       "平均货币资金                    nan  3,015,146,300  2,389,295,050  3,125,414,250   \n",
       "利息收入占平均货币资金的比率           nan%          3.10%          4.22%          2.71%   \n",
       "\n",
       "                         2020           2021  \n",
       "利息收入(元)           160,282,600    152,136,800  \n",
       "货币资金(元)         3,921,052,700  3,802,201,300  \n",
       "平均货币资金          3,987,587,200  3,861,627,000  \n",
       "利息收入占平均货币资金的比率          4.02%          3.94%  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t2 = analysis.init_table('t2')\n",
    "t2['平均货币资金'][1:] = (t2['货币资金(元)'][1:].values + t2['货币资金(元)'][:-1].values) / 2\n",
    "t2['利息收入占平均货币资金的比率'] = t2['利息收入(元)'] / t2['平均货币资金']\n",
    "\n",
    "analysis.format_show_table('t2')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1de3f94c668>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t2')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 利息支出占净利润的比率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>其中：利息费用(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>477,400</td>\n",
       "      <td>6,721,500</td>\n",
       "      <td>9,638,300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>五、净利润(元)</th>\n",
       "      <td>1,206,814,400</td>\n",
       "      <td>1,461,194,100</td>\n",
       "      <td>1,483,847,900</td>\n",
       "      <td>1,614,245,400</td>\n",
       "      <td>1,687,357,900</td>\n",
       "      <td>1,348,791,400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>利息费用占净利润的比率</th>\n",
       "      <td>0.00%</td>\n",
       "      <td>0.00%</td>\n",
       "      <td>0.00%</td>\n",
       "      <td>0.03%</td>\n",
       "      <td>0.40%</td>\n",
       "      <td>0.71%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                      2016           2017           2018           2019  \\\n",
       "其中：利息费用(元)               0              0              0        477,400   \n",
       "五、净利润(元)     1,206,814,400  1,461,194,100  1,483,847,900  1,614,245,400   \n",
       "利息费用占净利润的比率          0.00%          0.00%          0.00%          0.03%   \n",
       "\n",
       "                      2020           2021  \n",
       "其中：利息费用(元)       6,721,500      9,638,300  \n",
       "五、净利润(元)     1,687,357,900  1,348,791,400  \n",
       "利息费用占净利润的比率          0.40%          0.71%  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t3 = analysis.init_table('t3')\n",
    "t3['利息费用占净利润的比率'] = t3['其中：利息费用(元)'] / t3['五、净利润(元)']\n",
    "\n",
    "analysis.format_show_table('t3')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1de41c01048>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t3')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 预付款项和其他应收款占总资产的比率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>预付款项(元)</th>\n",
       "      <td>32,828,400</td>\n",
       "      <td>58,386,100</td>\n",
       "      <td>59,485,900</td>\n",
       "      <td>50,113,500</td>\n",
       "      <td>69,889,400</td>\n",
       "      <td>131,162,000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>其他应收款合计(元)</th>\n",
       "      <td>14,323,300</td>\n",
       "      <td>51,299,400</td>\n",
       "      <td>70,182,500</td>\n",
       "      <td>110,899,400</td>\n",
       "      <td>56,589,800</td>\n",
       "      <td>73,487,400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>资产合计(元)</th>\n",
       "      <td>6,415,202,500</td>\n",
       "      <td>7,926,615,200</td>\n",
       "      <td>9,455,361,500</td>\n",
       "      <td>10,651,922,600</td>\n",
       "      <td>12,457,568,300</td>\n",
       "      <td>13,906,035,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>预付款项和其他应收款占总资产的比率</th>\n",
       "      <td>0.73%</td>\n",
       "      <td>1.38%</td>\n",
       "      <td>1.37%</td>\n",
       "      <td>1.51%</td>\n",
       "      <td>1.02%</td>\n",
       "      <td>1.47%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                            2016           2017           2018  \\\n",
       "预付款项(元)               32,828,400     58,386,100     59,485,900   \n",
       "其他应收款合计(元)            14,323,300     51,299,400     70,182,500   \n",
       "资产合计(元)            6,415,202,500  7,926,615,200  9,455,361,500   \n",
       "预付款项和其他应收款占总资产的比率          0.73%          1.38%          1.37%   \n",
       "\n",
       "                             2019            2020            2021  \n",
       "预付款项(元)                50,113,500      69,889,400     131,162,000  \n",
       "其他应收款合计(元)            110,899,400      56,589,800      73,487,400  \n",
       "资产合计(元)            10,651,922,600  12,457,568,300  13,906,035,200  \n",
       "预付款项和其他应收款占总资产的比率           1.51%           1.02%           1.47%  "
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t4 = analysis.init_table('t4')\n",
    "t4['预付款项和其他应收款占总资产的比率'] = t4.T[:2].sum() / t4['资产合计(元)']\n",
    "    \n",
    "analysis.format_show_table('t4')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1de4099f0b8>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t4')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 在建工程占总资产的比率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>在建工程合计(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>21,085,400</td>\n",
       "      <td>184,440,700</td>\n",
       "      <td>272,211,700</td>\n",
       "      <td>463,424,600</td>\n",
       "      <td>454,643,400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>资产合计(元)</th>\n",
       "      <td>6,415,202,500</td>\n",
       "      <td>7,926,615,200</td>\n",
       "      <td>9,455,361,500</td>\n",
       "      <td>10,651,922,600</td>\n",
       "      <td>12,457,568,300</td>\n",
       "      <td>13,906,035,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>在建工程占总资产的比率</th>\n",
       "      <td>0.00%</td>\n",
       "      <td>0.27%</td>\n",
       "      <td>1.95%</td>\n",
       "      <td>2.56%</td>\n",
       "      <td>3.72%</td>\n",
       "      <td>3.27%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                      2016           2017           2018            2019  \\\n",
       "在建工程合计(元)                0     21,085,400    184,440,700     272,211,700   \n",
       "资产合计(元)      6,415,202,500  7,926,615,200  9,455,361,500  10,651,922,600   \n",
       "在建工程占总资产的比率          0.00%          0.27%          1.95%           2.56%   \n",
       "\n",
       "                       2020            2021  \n",
       "在建工程合计(元)       463,424,600     454,643,400  \n",
       "资产合计(元)      12,457,568,300  13,906,035,200  \n",
       "在建工程占总资产的比率           3.72%           3.27%  "
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t5 = analysis.init_table('t5')\n",
    "t5['在建工程占总资产的比率'] = t5['在建工程合计(元)'] / t5['资产合计(元)']\n",
    "\n",
    "analysis.format_show_table('t5')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXsAAAEGCAYAAACEgjUUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAGSFJREFUeJzt3X+UXGV9x/H3J78Aw48kssSCQASipT1iiIuCBdygJFEsFugxHFFA0FgK9WerQbCiouIPsBYhEsEj0oqQU1BsQEIK+QGHABsNP6SUGiUKmrJIIEEhAfLtH89dM0xmd+7M7M7u5vm8ztnDzJ3vvfd5dslnnnnunXsVEZiZ2fZt1FA3wMzMBp/D3swsAw57M7MMOOzNzDLgsDczy4DD3myYk6Qay8YMRVts5HLYW0Mk7SBpsaSJDazzGkm3DmAbdpQ0U9IRTazbLamrRN24qucdfdS9UdLuFc+PlnR+A+15jaRZdcoOlXRL1bJlkqaX3MdmSTv28/pxks7o5/VzJE0usy8bvhz21qg3ARMiYn2tFyUtknSDpM9Lmi7pbuAqYJqkpZJ+JumQivqzJf1K0kPFzy+Ln4ckPSzpMUkfL2pfLuke4H+BLwB/LmmGpCclrS5+fi7pd/20/5VAv6NiSaOBuyQdVLF4kaSja5RPAW6X9DeSdgW+AZxSvKn0/nyqavuVbyT7A1+ueE2Sdqjax2uBOypqJgC7Az+r0fZvS3pf1eLNwPN9dBfgZOBZSUskPS5puaRLKl6fDYzuZ30bAeQvVVk9kv6LFC7Pk8LyBWBdRckoYFegq3h+KtADfLeo3Rv4VkTMlvRd4HLgrojYJoAkXQA8FxHn9dOeE4E/j4jzJL0JmBsRpxavvRK4IyL27WPddaTw+2PlYuA7EVEZurOBEyLiA5IOAK6OiEOoQdJewB7Ax4B7gGXAmRExV9JdwN9HxKqidhywqmhD9T++UcWyJyJiVlH/Y+AQ4FngaeB80u/6S8DGYr1XRMTORf0lwJ0R8W8V7XsqIiYUj/cDXh8RC4vn+wD3Aa8o9r86Il5dvLYSeD/wTeDEiKj8m9sI43k/qysi3gIgaU/gp8BBwAZgSkT8orq+mJZ4G/B9YC/SqPAASbcDU4FO4Fzgh420Q9K+wD+SRsMvlzQWuAU4TtKhRdkYYFwfm+h1WkQsqdjuKCpGrpKWAuOBTUWbKR4/DPwoIv6pans7Fv09PSI2F9M4b5P0GuCIiNjcW1g8fq2kacDFwFER8XzxaeJBYE5ErK7Y9v6kN7aniu3uApwCHBkR/1O0d01Ffc3Rm6TxwIeAM4v99voM8ExEPFdMC70g6T2kT08bgT/U/A3aiOOwt1IkvRW4APheRDxZzFMvJY30K+s+RhqBvoYULO8jBdQupHCfA3wkIu6gceuB/wA+QgrGG4vt7NZMn3pFxBZgS8WizcCpEfFIZZ2kU0lvVpXLDiD16++BHSWdCfS+2f0IuEbSjcD9EfGnTxMRsVrSb4A3AreTfi8PFctHA1sifeyubBfAm9PqKegL1TX/KunLwM7AWcWy+4CrgYMi4smi7TOAtwLPFTXHkT6ZHAr8JfAifbx52MjjsLeyZgF/Bny1CKMXip/eM0NUTMu8QJqm+AlpVHobMBE4sli2BFizzdZLiIgNkn4GHEEKrkmS/g74ACmwdiRNd+xCGr2vaq6rjANulLS5avkk4JreJ8UngquBecDDpE8Zi4C3RsTTkt4MnA7MJ73p3VtMm/wC+GWxmctVcbKNpIdInzJmU/v3dHexzhURcXqxrDrsP1Q1jXMxKeSrR+m/A+YC3yimok4nBf1xpCm7g2vs30Yoh73VJWkmaQpgHmkEexxpxPdnkrqBscACSfOBCcAVwFtIo9uPkv4/2x+4rKh9F1vnmxv1L8CvSaPvrwBvi4hvFSPsyyOiq6rt7wEWFOsAPAV8syJgDyAF4YO9Cyq3Iem1EXF/rYZExBalM4L+k3Rc4lngeOD4iu3vGRF7VDYJeDAipjXQ5xWSXiTNq8+LiNslfU3SrIi4ucwGagQ9EfEQ8FDR1sNJf5/rizbOBY5toI02zDnsrV+SjicdoLsJeDYivg58tjgjZHVEdFbVH056I7ibFBwLgX3YeoB2FCnwm2nLe4DDgC8C+wFHAbsXc+mbgCmSfgpsiojDitWeA+6ufhOo2OY6Kg7WFmfcbCm2vxK4QNLCiPiupP1Jb3gfLKZ+KOa6N1HMtUs6hXSAdVGxvceqdtkBPNFg14+omLPvdSFwsqRlwDN99G006c23roi4pljnP0ifvlaRPin5LJzthE+9tHpuJAVsd8n684BPk6Yzvkmaj14IvLE42HkHaQTZjB+TDk5uBoiI3wE/Bw4kfdpYFRHTK4K+GSeRpnHeSArmD5A+iUCaenkZaVqmUuWg6QxgYzEtAtvOeXeSgrRV1wOnkY5XbKh+UdKxpHn6v67x2rskvayP7Z5O+oQUpNH9owPQVhsGPLK3fkXEc8Bapc/6oySN7eOUyXGk+fq9SFMmFwFfI511MxGYHxFHVa1zJvAJ0vRHr12L107sLSMF7KUR8SXS+e8HUIw4e0fY2vZLppXeUMyF11L5hajxwAzggxQhGRG/Bd5elFxHOuj8RUkTIuKpYvkngPXFaY9rgNXASklPAJ+StENEbCqObfwDaf6+rLG8dBrn08XyLaR/v7NJxwB6vRp4N+nN+f0RcaekCyW9IiLWFZ9O/g3Yk62faMYUf9+PkI7N9J5i+lvgVaQ3verjFzbCOOytrB2AlwN3SHqeNGJ9tOLUxB1Ip0WeC/wV6SDp+0kj41cCe0n6FekMD0jnxl8CVH55p6xxwLjinPpbSKE1hpceQ1gaER8u2lVvGmd88XQM8LEimP8X+I6k3pHty4B1RfifWrH+F0kHjHcCvgVcUYyK/6KY0joH+FvS/Pd7SWfc3N1AX78KXFW06XVsfWOcTPrdrQQ+XlH/A+CiiPhJxbLLgFuLKbQtwKcjonIqaRdgX9Ib3KyK+f1RpN/vst4zeGzk8peqbED1NfIvXhNpRL6ld0Q+0hXn0m8s3gT6qtkpIp4t5tB3ioiac+xmg8lhb2aWAR+gNTPLgMPezCwDw+YA7e677x5TpkwZ6maYmY0oq1ateiIial6Cu9KwCfspU6bQ3V32VG4zMwOQtLZMnadxzMwy4LA3M8uAw97MLAMOezOzDJQKe0mTlG6kvHv96prrTy7uKmRmZkOgbthLmki6XvcbgNskbXOKj6QzlG4mvVTpps+XSTpL0j3FxaVm9fUVejMzG3xlRvYHkS4O9QXgZmB6dUFEzI+IruJiUyuAbwPTSDeWPgTfx9LMbEjVDfuIWBYRKyUdSRrd39lXbXEN78kR0U26NO1YYCbpxhdmZjZEys7Zi3RD5PWke1P25Uy23thhMfAO0s0PbihubmxmZkOgoateSvo88EDvLcyqXhtFugvRm4rreSPpUNLt3SYD+0fEWVXrzCXdDYd99tnn9WvXlvoimJkNA1PmLWrr/h654Ji27m+kkLSq+vagtZQ5QPtJSScXTyeQbthcyxHAXfHSd4+ppDv3bKq1r4hYEBGdEdHZ0VH30g5mZtakMtM4C4D3SlpOuvHEo1U3Pu41C1je+0TSrsA64EHS6H1J6801M7Nm1L0QWkSsB46uWnxujbpPVT3fQLqlGaQzc8zMbIj4G7RmZhlw2JuZZcBhb2aWAYe9mVkGHPZmZhlw2JuZZcBhb2aWAYe9mVkGHPZmZhlw2JuZZcBhb2aWAYe9mVkGHPZmZhlw2JuZZcBhb2aWAYe9mVkGHPZmZhlw2JuZZcBhb2aWAYe9mVkGHPZmZhkYU6ZI0iTg9cDPIuKJRnciaTLwZEQ83+i6ZmbtNmXeorbu75ELjhn0fdQd2UuaCPwn8AbgNkkdNWp2k3STpMWSrpc0TtJZku6RNB6Y5aA3Mxs6ZaZxDgI+FhFfAG4GpteoOQm4KCJmAuuA2cA04HLgEOAPA9NcMzNrRt1pnIhYBiDpSNLo/nM1ai6teNoBPA4IGAvMBM4fiMaamVlzSh2glSRgDrAe6HM6RtJhwMSIWAksBt4BPArcIGlGjfq5kroldff09DTTfjMzK6FU2EdyJnAfcGytmuIg7sXAacU61wDnAU8Bi4ATamx3QUR0RkRnR8c2hwLMzGyAlDlA+0lJJxdPJ5DCu7pmHLAQODsi1la8NBVYA2wqsy8zMxscZQJ4AfBeScuB0cCjkqrn4E8nHbg9R9JSSXMk7Uo6WPsgMBdYMoDtNjOzBpQ5QLseOLpq8blVNfOB+TVWv6X477SmWmdmZgPCUytmZhlw2JuZZcBhb2aWAYe9mVkGHPZmZhlw2JuZZcBhb2aWAYe9mVkGHPZmZhlw2JuZZcBhb2aWAYe9mVkGHPZmZhlw2JuZZcBhb2aWAYe9mVkGHPZmZhlw2JuZZcBhb2aWAYe9mVkGHPZmZhloS9hLmixpbDv2ZWZm2xpTr0DSbsAPgNHAH4A5EbG5quYMYE7xdAJwF3A/cArQBcyKiO8NXLPNzKwRZUb2JwEXRcRMYB0wu7ogIuZHRFdEdAErgG8D04DLgUNIbxJmZjZE6o7sI+LSiqcdwON91UraC5gcEd2SBIwFZgLnt9pQMzNrXuk5e0mHARMjYmU/ZWcC84vHi4F3AI8CN0iaUWObcyV1S+ru6elpoNlmZtaIUmEvaRJwMXBaPzWjgBnAUoCIuAY4D3gKWAScUL1ORCyIiM6I6Ozo6Gi07WZmVlLdsJc0DlgInB0Ra/spPQK4KyKiYtlUYA2wqcy+zMxscJQJ4NOB6cA5kpZK+oykWnPws4DlvU8k7Uo6oPsgMBdYMgDtNTOzJpQ5QDufrfPw/dV9qur5BuCW4um0plpnZmYDwlMrZmYZqDuyN7PmTZm3qG37euSCY9q2Lxt5PLI3M8uAw97MLAMOezOzDDjszcwy4LA3M8uAw97MLAMOezOzDDjszcwy4LA3M8uAw97MLAMOezOzDDjszcwy4LA3M8uAw97MLAMOezOzDDjszcwy4LA3M8uAw97MLANtCXtJe7djP2ZmVlvdsJe0m6SbJC2WdL2kcX3UTZa0ouL5lyTdLEnAjAFss5mZNajMyP4k4KKImAmsA2ZXF0iaCFwJjK9Y3AH8FDgY+HXrTTUzs2bVDfuIuDQibimedgCP1yh7EZgDbKhYJmAMcCSwrMV2mplZC0rP2Us6DJgYESurX4uIDRHxdNXiB4B9gS3AckkH1tjmXEndkrp7enoabLqZmZVVKuwlTQIuBk4ru+GI+DpwFfBH4DrgmBo1CyKiMyI6Ozo6ym7azMwaVOYA7ThgIXB2RKxtcPsTgI3ApjL7MjOzwTGmRM3pwHTgHEnnALcBYyPi3P5WkvRq4F5S2N8InNpaU83MrFl1wz4i5gPzy2wsIroqHj9c8dI28/VmZtY+nloxM8uAw97MLAMOezOzDDjszcwy4LA3M8tAmVMvzQbNlHmL2rq/Ry7Y5rt9ZlnwyN7MLAMOezOzDDjszcwy4LA3M8uAw97MLAMOezOzDDjszcwy4LA3M8uAw97MLAMOezOzDDjszcwy4LA3M8uAw97MLAMOezOzDDjszcwy0Jawl7R3O/ZjZma1lQp7SZMlrShR92NJ04rHX5J0syQBM1psp5mZtaBu2EuaCFwJjK9TdxKwJiJWF4s6gJ8CBwO/brGdZmbWgjIj+xeBOcCGvgokTQIuBNZL6h3Fi3TbwyOBZS2208zMWlA37CNiQ0Q8Xafso8BC4DLgZEnHAg8A+wJbgOWSDqxeSdJcSd2Sunt6ehpvvZmZlTJQB2gPBi6JiHXAtUBXRHwduAr4I3AdsM2dniNiQUR0RkRnR0fHADXFzMyqDVTY/wLYr3jcCawtHk8ANgKbBnBfZmbWoDGNriDpKOAvIuKbFYu/Alwu6RzSSP54Sa8G7iWF/Y3Aqa0318zMmlE67COiq/jvrcCtVa/9Fnh71SobKx5vM19vZmbt46kVM7MMOOzNzDLgsDczy4DD3swsAw57M7MMOOzNzDLgsDczy4DD3swsAw57M7MMOOzNzDLgsDczy4DD3swsAw57M7MMOOzNzDLgsDczy4DD3swsAw57M7MMOOzNzDLgsDczy4DD3swsA20Je0l7t2M/ZmZWW6mwlzRZ0oo6NQdK+lHF8yslXVk87Wq+iWZm1qox9QokTQSuBMb3U7M/8FVg54rFz6eXdChwV4vtNDOzFpQZ2b8IzAE29FOzETihapmK7U+NiIeba56ZmQ2EumEfERsi4uk6NY9HxKaqxb8nBf4eklZI2qOFdpqZWQsG7QBtRHwCWAyMBa4DjqyukTRXUrek7p6ensFqiplZ9gYt7CWNBqL42VRrXxGxICI6I6Kzo6NjsJpiZpa9hsNe0lGSzipRejiwBFgO/AM+SGtmNmTqno3TKyK6iv/eCtzaX03xeFnxsAc4sOkWmplZy/wNWjOzDDjszcwy4LA3M8uAw97MLAMOezOzDDjszcwy4LA3M8uAw97MLAMOezOzDDjszcwy4LA3M8uAw97MLAMOezOzDDjszcwy4LA3M8uAw97MLAMOezOzDDjszcwy4LA3M8uAw97MLAMOezOzDDjszcwy0Jawl7SLpN3asS8zM9tWqbCXdIWkOyWd28frYyT9WtLS4ue1kt4p6eeS9gbeDjw7kA03M7Py6oa9pOOB0RFxGLCfpKk1yg4Cro6IruLnfmAW8EngTcDYiNg8kA03M7Pyyozsu4Bri8eLgcNr1BwKvEPS3cWngDHAFmCnon5ZrQ1LmiupW1J3T09Pw403M7NyyoT9eOCx4vGTwOQaNfcAb42INwBjSdM21wIfAn4JXCjp3dUrRcSCiOiMiM6Ojo5m2m9mZiWUCftnSCN0gJ37WOe+iPhd8bgbmBoRy4F3A78hBf5bWmyrmZk1qUzYr2Lr1M3rgEdq1Fwl6XWSRgN/A9xbLH8zcDvwAhCtNdXMzJpVJux/CLxX0kXAu4CfSzq/quZzwFXAauDOiFgiaRTwR+D/SAdp7x+4ZpuZWSPG1CuIiA2SuoCjga9ExDq2jtx7ax4gnZFTuWwLcF3x9KgBaa2ZmTWlbtgDRMR6tp6RY2ZmI4wvl2BmlgGHvZlZBhz2ZmYZcNibmWXAYW9mlgGHvZlZBhz2ZmYZcNibmWWg1JeqbGhNmbeorft75IJj2ro/Mxt8HtmbmWXAYW9mlgGHvZlZBhz2ZmYZcNibmWXAYW9mlgGHvZlZBhz2ZmYZcNibmWXAYW9mloG2hL2kyZLGtmNfZma2rVJhL+kKSXdKOrdsjaSzJN0jaTwwKyKeH6A2m5lZg+qGvaTjgdERcRiwn6SpJWumAZcDhwB/GNhmm5lZI8qM7LuAa4vHi4HDS9YIGAvMBG5qpZFmZtaaMpc4Hg88Vjx+EphesmYx8D7gBuAGSV+IiNsqV5I0F5hbPH1G0v801vyW7Q480eZ9tlNT/dOXB6ElA899qzJC+gbbd/+Gom/7likqE/bPADsVj3em9qeBbWoi4hpJa4H9gEXACcBLwj4iFgALyjR0MEjqjojOodr/YNue++e+jVzbc/+Gc9/KTOOsYuvUzeuARxqomQqsATaV3JeZmQ2CMiP7HwIrJO0JvA04UdL5EXFuPzWHStoVWAc8CFwGfG5gm25mZmXVDfuI2CCpCzga+EpErAPurVPzdPHSLcV/pw1YiwfWkE0htcn23D/3beTanvs3bPumiBjqNpiZ2SDzPLqZWQYc9mZmGdhuw17SbpJukrRY0vWSxtW67ENx3Z4VNdb/saRheayh2b5J+qykpcXPQ5LOHpoe9K2Fvu0n6b8krZb06aFpfX0t9G+6pCWS7pD08aFpff/K9K1WTbG87iVZhlKLfauZMe223YY9cBJwUUTMJJ0VdCJVl3SQNBG4kvSlsD+RdBKwJiJWt7vRJTXVt4j4TER0RUQX8ADwvfY3va5m/25nAf8cEdOAWZI62t3wkprt38WkLykeDpwg6VVtbncZdftWo2Z2mUuyDAPN9q1mxgyF7TbsI+LSiOg9G6gDeA/bXtLhRWAOsKF3PUmTgAuB9ZJmtK/F5TXbt16SDgEejYjHql8bai307ffAQZImAzsAT7WnxY1poX+TIuI3kc6o+D2wa5uaXFqZvtWoeZxyl2QZUi30rc9/h+223YZ9L0mHAROB3/DSSzpMjogNFaeJ9voosJD03YCTJR3btsY2qIm+9fowaaQ4bDXRt58AhwIfAm4FXmhXW5vRRP/uULqS7LuBKcB9bWtsg/rrW3VNRKxk28utTGaYarRvdf4dttV2HfbFKP1i4DTKXfYB4GDgkuL7BNeSRh3DTpN9Q9IEYI+IWDPojWxSk32bB5waEecU9UcPdjub1WT/Pgg8RJqu+nIM03Omy/Stqoa+6oabJvs2bAzLX+pAKA6OLATOjoi1lLvsA8AvSNfzAegE1g5iM5vSQt8A3gncOKgNbEELfXsVsLekHUkX4huuYdhU/yLiRaD3QoH/PsjNbEqZvtWooVZd2xpdUgt9Gz4iYrv8Ac4A1gNLi59TSN/8vQj4b2C3itqlFY/3JIXhHaRvAO8y1H0ZqL4Vz78PTB/qPgzC3+0Y4JfARuBq0sGzIe/PAP/trgSOGOo+tNK3GjVzSMcfav4OhstPs33r6285FD9ZfYO2ODJ+NLA80jTNdsN9G7m25/6V7dtI/B2MtDZnFfZmZrnabufszcxsK4e9mVkGHPZmZhlw2JuZZcBhb2aWgf8H9v+MjBZD2RAAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1de409fad68>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t5')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 存货占总资产的比率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>存货(元)</th>\n",
       "      <td>914,493,000</td>\n",
       "      <td>1,112,902,200</td>\n",
       "      <td>1,347,112,700</td>\n",
       "      <td>1,339,176,900</td>\n",
       "      <td>1,386,089,300</td>\n",
       "      <td>1,772,231,600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>资产合计(元)</th>\n",
       "      <td>6,415,202,500</td>\n",
       "      <td>7,926,615,200</td>\n",
       "      <td>9,455,361,500</td>\n",
       "      <td>10,651,922,600</td>\n",
       "      <td>12,457,568,300</td>\n",
       "      <td>13,906,035,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>存货占总资产的比率</th>\n",
       "      <td>14.26%</td>\n",
       "      <td>14.04%</td>\n",
       "      <td>14.25%</td>\n",
       "      <td>12.57%</td>\n",
       "      <td>11.13%</td>\n",
       "      <td>12.74%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                    2016           2017           2018            2019  \\\n",
       "存货(元)        914,493,000  1,112,902,200  1,347,112,700   1,339,176,900   \n",
       "资产合计(元)    6,415,202,500  7,926,615,200  9,455,361,500  10,651,922,600   \n",
       "存货占总资产的比率         14.26%         14.04%         14.25%          12.57%   \n",
       "\n",
       "                     2020            2021  \n",
       "存货(元)       1,386,089,300   1,772,231,600  \n",
       "资产合计(元)    12,457,568,300  13,906,035,200  \n",
       "存货占总资产的比率          11.13%          12.74%  "
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t6 = analysis.init_table('t6')\n",
    "t6['存货占总资产的比率'] = t6['存货(元)'] / t6['资产合计(元)']\n",
    "\n",
    "analysis.format_show_table('t6')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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n8+tt94a25Y3ImjmzJn87W9/22ee77rrLj755JMit8+cOZOFCxfG1nv37s3u3bvzpSnPPOcZPnw4K1asAILfUWEP2rVu3Trf+imnnFLoebOysmLL48aN45VXXinyvOVFncAiJbBy5UrWrFnD7bffzsMPP8z06dNjM2Du3LmTTp06kZubS3p6Oq+99hoZGRmx2UPzhl9OmzaN6dOnA8GQy9zc3NicP+3atWPTpk2x9Dt27KB3796MGDECCN5DMHnyZDZs2MDy5ct55JFHSEtLY/LkybRs2ZL58+fTuHFjmjcPRkxdffXVe80jBPDQQw9x3nnn8dVXXzFr1iw6deoU21atWjXatWvH3LlzC/0OzjrrrNjkbeU5C+mNN95Inz596Nq1K3Xq7PX2WEAzp+6vmVMVAERK4MUXX2Tw4MEApKenc//993Peeeexa9cucnNzqVmzJllZWSQlJWFmvPPOO8ydO5fLLrsMgA8//JBNmzYxYMAAVq1aRfXq1enTp0/s4a/Zs2eTmpoae1L40UcfZfTo0bEHyE488UTmz59PVlYWmzdvZv78+bRr146mTZuyfv165syZwznnnMOgQYOKLMPDDz/M8uXLmTBhApmZmfTp04clS5Zw8803x+bszzv3K6+8Ehs26u6xO5E85TkLKUDfvn2ZMWPGPu+mNHNq+c+cqgAgUgLLly+PjbXOmz1z06ZNzJ8/n6VLl3LHHXcwdepUFi1axJgxY6hSpUq+cfejRo3iggsu4Omnn+aPf/wjnTp14uyzz2bjxo2xYwKMGDGChQsXsmPHDt5++22ys7O57bbbuOyyy7jxxhtjV7WZmZl89NFHDBs2jKysLLZs2ULnzp25/vrr+eKLL/jyyy9JS0vjl7/8JVdddRWDBw+mVq1atGrVipEjRwLQsmVLli9fzumnn86ECRNo1aoVADfccAM33HDDXt/Bs88+C5T/LKRVqlThrLPO4r777ttnANDMqeVPAUCklH766SdWrFjBuHHj+Mc//sHYsWO56aabePfdd+nbt+9e6Xfu3MnZZ5/Np59+ysqVK/niiy/4/e9/D+yp+PPaf4cNG8b999/Pc889x913352vnXr37t2xCm3nzp2MGDGCt956izlz5vDggw8C8MQTTwD5m4B++OEH7rzzTk499VRWrFgRC0y5ubmccMIJpKenU6dOnXxt0K1bt449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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1de40a6d208>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "from analysis.utils import plot_show\n",
    "\n",
    "tmp_df = pd.merge(\n",
    "    t6['存货占总资产的比率'], \n",
    "    t1['(应收账款+合同资产)占总资产的比率'],\n",
    "    right_index=True,\n",
    "    left_index=True\n",
    ")\n",
    "plot_show(tmp_df, image_title=images['t6'][0], y_label='', y_format='', save_image=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 商誉占总资产的比率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>商誉(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>80,589,600</td>\n",
       "      <td>80,589,600</td>\n",
       "      <td>80,589,600</td>\n",
       "      <td>80,589,600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>资产合计(元)</th>\n",
       "      <td>6,415,202,500</td>\n",
       "      <td>7,926,615,200</td>\n",
       "      <td>9,455,361,500</td>\n",
       "      <td>10,651,922,600</td>\n",
       "      <td>12,457,568,300</td>\n",
       "      <td>13,906,035,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>商誉占总资产的比率</th>\n",
       "      <td>0.00%</td>\n",
       "      <td>0.00%</td>\n",
       "      <td>0.85%</td>\n",
       "      <td>0.76%</td>\n",
       "      <td>0.65%</td>\n",
       "      <td>0.58%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                    2016           2017           2018            2019  \\\n",
       "商誉(元)                  0              0     80,589,600      80,589,600   \n",
       "资产合计(元)    6,415,202,500  7,926,615,200  9,455,361,500  10,651,922,600   \n",
       "商誉占总资产的比率          0.00%          0.00%          0.85%           0.76%   \n",
       "\n",
       "                     2020            2021  \n",
       "商誉(元)          80,589,600      80,589,600  \n",
       "资产合计(元)    12,457,568,300  13,906,035,200  \n",
       "商誉占总资产的比率           0.65%           0.58%  "
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t7 = analysis.init_table('t7')\n",
    "t7['商誉占总资产的比率'] = t7['商誉(元)'] / t7['资产合计(元)']\n",
    "\n",
    "analysis.format_show_table('t7')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1de40a41be0>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t7')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 输出分析报告"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "文档 [DEBT-002508-造假嫌疑分析（2016~2021）.docx] 已输出到 [dist] 目录下。\n"
     ]
    }
   ],
   "source": [
    "# ReportDocument(analysis).save()\n",
    "from analysis.utils import read_company_code\n",
    "\n",
    "start = analysis.tables['t1'].index[0]\n",
    "end = analysis.tables['t1'].index[-1]\n",
    "\n",
    "name = f\"DEBT-{read_company_code()}-造假嫌疑分析（{start}~{end}）.docx\"\n",
    "doc = ReportDocument(analysis, doc_name=name)\n",
    "doc.save()\n",
    "\n",
    "print(f\"文档 [{name}] 已输出到 [dist] 目录下。\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
